package cn.xscrum.vtsp.service.impl;

import cn.xscrum.vtsp.mapper.VtspActivityMapper;
import cn.xscrum.vtsp.mapper.VtspActivityStatisticMapper;
import cn.xscrum.vtsp.service.IVtspActivityStatisticService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 活动信息统计分析Service业务层处理
 *
 * @author wfs
 * @date 2021-10-06
 */

@Service
public class VtspActivityStatisticServiceImpl implements IVtspActivityStatisticService
{

    @Autowired
    private VtspActivityStatisticMapper activityStatisticMapper;

    /**
     * 获取服务对象的国家分布情况
     *
     * @return 国家以及国家含有的服务对象的人数的集合
     */
    @Override
    public List<Map<String, Object>> getServiceObjectLocalDistribution()
    {
        return activityStatisticMapper.getServiceObjectLocalDistribution();
    }

    /**
     * 获取未接项和已结项的活动数
     *
     * @return 未接项和已结项及其对应的活动数
     */
    @Override
    public List<Map<String, Object>> getActivityState() {
        return activityStatisticMapper.getActivityState();
    }

    /**
     * 获取例年开展活动的分布趋势
     *
     * @return  每年以及其每年开展的活动数的集合
     */
    @Override
    public List<Map<String, Object>> getActivityGrowthTrend()
    {
        return activityStatisticMapper.getActivityGrowthTrend();
    }

    /**
     * 获取例年服务对象的人数增长趋势
     *
     * @return  每年以及其每年服务对象的人数的集合
     */
    @Override
    public List<Map<String, Object>> getServiceObjectGrowthTrend()
    {
        return activityStatisticMapper.getServiceObjectGrowthTrend();
    }

    /**
     * 获取服务对象的年龄分布趋势
     *
     * @return  各个年龄段以及其对应的服务对象人数的集合
     */
    @Override
    public List<Map<String, Object>> getServiceObjectAgeDistribution()
    {
        return activityStatisticMapper.getServiceObjectAgeDistribution();
    }
}
